“Wireless computing” is a term that has come to describe wireless communications between computing devices or between a computer and peripheral devices such as printers. For example, many computers, including tower and laptop models, have a wireless communications card that comprises a transmitter and receiver connected to an antenna. Or alternatively, a Host Wire Adapter (HWA) is connected to the computer by a USB cable. The HWA has an RF transmitter and receiver capable of communicating data in a USB-cognizable format. This enables the computer to communicate by Radio Frequency (RF) transmission with a wireless network of computers and peripheral devices. The flexibility and mobility that wireless computing affords is a major reason for its commercial success.
Thus, a Host Wire Adapter (HWA) provides the capabilities of a wireless USB host controller through a USB device interface. An HWA provides the host the ability to communicate with a large number of wireless USB devices. To communicate with a wireless USB device, an HWA implements a logical abstraction called remote pipes (RPIPES) that allows for data flow through the HWA to a specific endpoint of a wireless USB device. One RPIPE is required for communication to each endpoint. Each RPIPE requires memory in the HWA to support data transfers. This implies that the number of devices with which HWA can simultaneously communicate is directly proportional to the amount of memory in the HWA.
Since an HWA will typically be a low cost embedded device, there are practical limitations on the amount of data memory in the HWA. This implies that the host software will need to manage the transfers so that the HWA memory is not oversubscribed. It does this by configuring RPIPES in the HWA so that the number of memory blocks used by all the active RPIPES does not exceed the total number of available memory blocks. The host software achieves this by either retargeting an existing RPIPE to another endpoint, or setting an existing RPIPE to idle and configuring another RPIPE for this transfer. This retargeting and reconfiguring of RPIPES adds significant overhead (approximately 10-20%) to each transfer.